A trend graph provides a visual representation of how acquired data values change over time. For example, a trend graph may show fluctuations of minimum and maximum stock prices from day-to-day or week-to-week or patterns of minimum and maximum voltage levels over a sequence of measurement intervals.
In many contexts, a trend graph is generated dynamically as data is captured or received. For example, the trend graph may be continuously updated in real-time to reflect the latest data. This dynamic process allows an observer to witness data trends as they unfold, which can be beneficial, for instance, where the observer is required to take action based on the trends. In one example, a stock broker may wish to view the latest patterns of stock prices in order to make ongoing decisions on whether to buy or sell stocks. In another example, a user of a digital multi-meter (DMM) may wish to view trends within contemporaneous measurement values in order to determine how to proceed with an ongoing measurement process.
Unfortunately, the process of displaying a continuously changing trend graph can be complicated by many factors. One complicating factor is that most display systems provide a limited amount of space in which to display information. For example, most DMM displays have a fixed pixel-width that limits the number of data points that can be displayed horizontally in a graph. Consequently, as the amount of acquired data increases, it will eventually fill or exceed the available viewing space. Another complicating actor is that most systems have a limited amount of memory for storing acquired data. For example, a DMM may have a fixed-size buffer for capturing a stream of incoming measurement data. As a result, it may run out of memory for storing new time-based measurements after a predetermined time elapses.
Some conventional systems address the above problems by requiring a user to specify a priori an interval over which data is to be gathered. This allows a system to set the scale of its display and/or the frequency of its measurements according to the specified interval. Some other systems may adjust the frequency of measurements automatically to compensate for limited display area and/or memory capacity. Still other systems may include large amounts of memory in an attempt to accommodate an anticipated amount of measurement data, or they may simply set hard limits on the amount of data that can be captured and displayed.
These conventional approaches suffer from various shortcomings that can limit performance, cost, and flexibility. For example, placing limits on the interval or frequency of data capture may be inconvenient or impractical when performing certain types of measurements, such as those involving data sequences of unknown or indefinite length. Additionally, it may be inefficient to provide a vast memory for data to be displayed in a trend graph. Due to these and other shortcomings, there is a general need for improved techniques and technologies for generating trend graphs in cases where the amount of information is unlimited.